1. Technical Field
The present disclosure generally relates to replication and/or synchronization of data objects across multiple processor-based devices.
2. Description of the Related Art
End users often have data collections (e.g., photos, videos, music, documents) that are spread across multiple processor-based devices (e.g., phones, personal computers, laptops, gaming consoles, tablet devices, digital cameras, cloud storage, etc.) spanning multiple networks. As computing devices become more prevalent and widely used among the general population, the amount of data generated and utilized by such devices has rapidly increased.
Modern devices, while more powerful than ever, continue to be challenged in terms of their ability to store all of the information that users want on all of their various devices. For instance, digital photography has recently become extremely popular, and as a result, digital pictures may cause many devices to run into storage limits. Further, this storage problem is only getting worse because most portable devices are using more expensive and smaller storage solid-state memory devices, as opposed to magnetic storage devices.
Further, recent advancements in communication technology can enable computing devices to communicate data at a high rate of speed. These advancements have led to, among other technologies, the implementation of distributed computing services that can, for example, be conducted using computing devices at multiple locations on a network. In addition, such advancements have enabled the implementation of services such as network-based backup, which allow a user of a computing device to maintain one or more backup copies of data associated with the computing device at a remote location on a network.
Existing systems and/or data backup solutions enable a user to store backup information in a location and/or media separate from its original source. Thus, for example, data from a computing device can be backed up from a hard drive to external media such as a tape drive, an external hard drive, or the like. However, in an implementation of network-based backup and/or other solutions that can be utilized to provide physically remote locations for storing backup data, costs and complexity associated with transmission and restoration of user data between a user machine and a remote storage location can substantially limit the usefulness of a backup system. For example, in the case where backup data is stored at a remote network location, data associated with respective versions of an original copy of a file and/or system image can be transmitted to remote storage (e.g., cloud), where the respective versions can later be retrieved for restoration. However, storing all of a user's content in a remote storage can be prohibitively expensive (and bandwidth consuming) for content such as digital photos and videos.
Data replication is used to protect data from loss, to ensure continuity and to provide access to content on other devices (e.g., access to pictures taken on a mobile phone on a desktop computer) while keeping the total cost of ownership relatively low. Generally, data replication requires making copies of data from a source device to one or more target devices. Target devices can reside on the same network as the host device or can be remotely located on other networks or remote locations. Data replication may be performed for several reasons including device synchronization, disaster recovery planning, content distribution, backup consolidation, etc.
Safeguarding user data is of primary importance. Loss of data can result from electrical outages, device damage or theft, natural or human caused disasters such as floods, tornadoes, fires, and other such events that can cause physical loss of processor-based devices and/or loss of the data stored thereon.
Thus, users often want to have content (e.g., photos) on some or all of their multiple devices. Users also want their content to be backed up and protected, often to a remotely located device. In some instances, users may want only a portion of their content on some devices. Further, in some instances users may want alternative forms of content (e.g., lower resolution photos) on some of their devices. Current systems either require the user to perform a great deal of manual work or require all of the content to be stored in the cloud, which is very expensive and impractical for many users.
In view of the foregoing, it is desirable to implement replication and/or synchronization techniques with improved efficiency, convenience and ease of use.